#ifndef _QABALAH_QABALAH_H
#define _QABALAH_QABALAH_H


#include "../occult/Occult.h"


typedef enum {
	HEBREW_ALEPH					= 0,
	HEBREW_BETH						= 1,
	HEBREW_GIMEL					= 2,
	HEBREW_DALETH					= 3,
	HEBREW_HEH						= 4,
	HEBREW_VAU						= 5,
	HEBREW_ZAIN						= 6,
	HEBREW_CHETH					= 7,
	HEBREW_TETH						= 8,
	HEBREW_YOD						= 9,
	HEBREW_KAPH						= 10,
	HEBREW_LAMED					= 11,
	HEBREW_MEM						= 12,
	HEBREW_NUN						= 13,
	HEBREW_SAMEKH					= 14,
	HEBREW_AAIN						= 15,
	HEBREW_PE						= 16,
	HEBREW_TZADDI					= 17,
	HEBREW_QOPH						= 18,
	HEBREW_RESH						= 19,
	HEBREW_SHIN						= 20,
	HEBREW_TAU						= 21,
	HEBREW_KAPH_FINAL				= 22,
	HEBREW_MEM_FINAL				= 23,
	HEBREW_NUN_FINAL				= 24,
	HEBREW_PE_FINAL				= 25,
	HEBREW_TZADDI_FINAL			= 26
} qabalah_hebrew;


class Qabalah {
	private:
		static const char char2hebrew[256];
		static const char hebrew2char[28];

	public:
		static qabalah_hebrew charToHebrew(char h) { return (qabalah_hebrew)char2hebrew[(int)h]; }
		static char hebrewToChar(qabalah_hebrew h) { return hebrew2char[h]; }
};



#endif


